﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
namespace RPGMapRevealer
{
    /// <summary>
    /// Exception used even when we know the condition could never possibly occur ever, but just to make Code Contracts shut up so we don't
    /// loose the benefit of code contracts for other things which may actually fail
    /// </summary>
    [Serializable]
    public class CodeContractsException : Exception
    {
        /// <summary>
        /// Exception used even when we know the condition could never possibly occur ever, but just to make Code Contracts shut up so we don't
        /// loose the benefit of code contracts for other things which may actually fail
        /// </summary>    
        public CodeContractsException() { }

        /// <summary>
        /// Exception used even when we know the condition could never possibly occur ever, but just to make Code Contracts shut up so we don't
        /// loose the benefit of code contracts for other things which may actually fail
        /// </summary>    
        public CodeContractsException(String message, Exception innerException) : base(message, innerException) { }

        /// <summary>
        /// Exception used even when we know the condition could never possibly occur ever, but just to make Code Contracts shut up so we don't
        /// loose the benefit of code contracts for other things which may actually fail
        /// </summary>    
        public CodeContractsException(String message)
            : base(message)
        { }

        /// <summary>
        /// Exception used even when we know the condition could never possibly occur ever, but just to make Code Contracts shut up so we don't
        /// loose the benefit of code contracts for other things which may actually fail
        /// </summary>
        protected CodeContractsException(SerializationInfo info, StreamingContext context)
            : base(info, context)
        { }
    }
}
